Sắp xếp nhanh
Sắp xếp nhanh

Sắp xếp nhanh

Sắp xếp nhanh (Quicksort), còn được gọi là sắp xếp kiểu phân chia (part sort) là một thuật toán sắp xếp phát triển bởi C.A.R. Hoarec sắp thành hai danh sách con. Khác với sắp xếp trộn, chia danh sách cần sắp xếp a [ 1.. n ] {\displaystyle a[1..n]} thành hai danh sách con có kích thước tương đối bằng nhau nhờ chỉ số đứng giữa danh sách, sắp xếp nhanh chia nó thành hai danh sách bằng cách so sánh từng phần tử của danh sách với một phần tử được chọn được gọi là phần tử chốt. Những phần tử nhỏ hơn hoặc bằng phần tử chốt được đưa về phía trước và nằm trong danh sách con thứ nhất, các phần tử lớn hơn chốt được đưa về phía sau và thuộc danh sách đứng sau. Cứ tiếp tục chia như vậy tới khi các danh sách con đều có độ dài bằng 1.

Sắp xếp nhanh

Độ phức tạp không gian trường hợp tệ nhất Khác nhau tùy vào cách hiện thực
Cấu trúc dữ liệu Khác nhau
Phân loại Giải thuật sắp xếp
Tối ưu Thỉnh thoảng
Hiệu suất trường hợp tệ nhất Trung bình O ( n log ⁡ n ) {\displaystyle O(n\log n)}
Xấu nhất O ( n 2 ) {\displaystyle O(n^{2})}